#!/bin/bash


#Stop_D <proceso> <nombreProcesoInvocante>
#Detiene un proceso si se estaba ejecutando
#  el primer parametro es el proceso a detener.
#  el segundo parametro es opcional, y es el nombre del comando que llama a esta funcion (en que archivo de log lo va a guardar).
#     si se omite lo guarda en Stop_D.log

if [ -z "${GRUPO}" -o -z "${BINDIR}" ]; then
        source Grabar_L
else
        auxDir="${GRUPO}"/"${BINDIR}"
        source "${auxDir}"/Grabar_L
fi

function Stop_D 
{

	proceso=$1
	nombreProceso=$2

	if [ $# -lt 1 ];  then
		echo "Stop_D: Faltan parámetros." >&2
		return 1
	fi

	if [ -z $nombreProceso ]
	then
		nombreProceso="Stop_D"
	fi
	#FIXME: esta linea no funciona bien
	nroProceso=`ps -e | grep "${proceso}$" | awk '{print $1}'`

	echo "$nroProceso"
	if [ "$nroProceso" ]
	then
		kill $nroProceso 2> error_stop_d.tmp &  

		if [ `wc -l < error_stop_d.tmp` -eq 0 ]
		then
			Grabar_L $nombreProceso "Se detuvo el proceso:  $proceso." 'I'
		else
			Grabar_L $nombreProceso "No se pudo detener el proceso:  $proceso." 'E'
			rm error_stop_d.tmp  2> /dev/null
			return 1
		fi
	
	else
		Grabar_L $nombreProceso "El proceso $proceso no se estaba ejecutando." 'W'
		return 1
	fi
	rm error_stop_d.tmp  2> /dev/null
	return 0
}

if [[ $BASH_SOURCE == $0 ]]; then
	Stop_D "$@"
fi

